A function pointer (or subroutine pointer) is a type of pointer supported by third-generation programming languages (such as PL/I, COBOL, Fortran 2003, dBASE dBL, and C) and object-oriented programming languages (such as C++ and D). Instead of referring to data values, a function pointer points to executable code within memory.